package com.taijihuabao.common.jsonresult;

/**
 * @author Admin
 */
public enum ApplicationResponseCode implements ResponseCode {

    //common公共异常编码
    SUCCEEDED("000", "OK"),
    FAILED("999", "FAILED"),
    ERROR("500", "服务器内部错误"),
    LOGIN_OUT_SUCCESS("800", "退出成功"),
    LOGIN_OUT_FAILED("801", "退出失败"),
    ID_NOTNULL("001", "id为空或不存在！"),
    INSERT_ERROR("002", "插入数据错误"),
    EXPORT_ERROR("003", "导出错误"),
    ENCODE_NOTNULL("004", "编码为空或不存在！"),
    INTER_ERROR("005", "网络异常，请稍后重试"),
    VAIL_CODE_ERROR("006", "验证码过期或错误"),
    FILE_UPLOAD_ERROR("007", "上传失败"),
    MESSAGE_NOT_EXIST("008", "消息不存在"),

    //登录注册异常:100-199
    TOKEN_IS_NOT("100", "未登录，请先登录"),
    TOKEN_EXPIRE("101", "登录过期，请重新登录！"),
    TOKEN_REFRESH_FAILED("102", "会话刷新失败，请重新登录！"),
    URL_CHECK("103", "您无请求此地址权限，请联系权限管理员"),
    USER_OLD_PASSWORD("105", "原密码不正确"),
    USER_NOT_PASSWORD("106", "密码不能为空"),
    USER_OR_PASSWORD_ERROR("107", "账号或密码错误，请重新输入"),
    USER_PASS_NOT_NULL("108", "账号，密码不能为空"),
    USER_LOGIN_ERROR("109", "账号不存在或密码错误"),
    USER_ACCOUNT_FORBIDDEN("110", "账号已被禁用"),
    USERNAME_LOGIN("111", "用户已登录，禁止重复登录"),
    USER_LOGIN_KICK_OUT("113", "您在其他地方登录，账号已下线"),
    USER_ACCOUNT_NOT_REGISTER("114", "账号未注册"),

    //用户异常:200-299
    USER_NOT_EXIST("204", "用户不存在"),
    ROLE_NOT_EXIST("205", "角色不存在"),
    USER_HAS_EXISTED("206", "用户已存在"),
    USER_DELETE_FAILED("207", "用户删除失败"),
    USER_DELETE_SUCCESS("208", "用户删除成功"),
    USER_NOT_EMPTY("209", "用户名不能为空"),
    USER_DELETE_EXISTED("210", "用户早已删除"),
    USER_PHONEMES_NOTNULL("211", "手机号码不能为空"),
    USER_EMAIL_NOTNULL("212", "用户邮箱不能为空"),
    USER_EMAIL_CODE_FALSE("213", "请输入正确的验证码"),
    USER_NAME_NOT_NULL("214", "姓名不能为空"),

    //角色异常编码:300-399
    ROLE_P_NONEXISTENT("301", "其中有个角色不存在"),
    ROLE_DELETE("302", "角色早已被删除"),
    ROlE_NOT_EXIST("303", "角色不存在"),

    //权限异常编码:400-499
    PERMISSION_NOT_EXIST("411", "权限不存在"),
    PERMISSION_IS_EXIST("412", "权限已存在"),
    PERMISSION_NAME_IS_EXIST("413", "权限名称已存在"),
    PERMISSION_NOT_NAME("414", "权限名称不能为空"),
    PERMISSION_NOT_ID("415", "权限ID不存在"),
    PERMISSION_DELETE_OR_NOT_EXIST("416", "权限不存在或已经被删除"),
    USER_OUT_PERMISSION("417", "用户权限不够"),
    PERMISSION_NOT_CODE("418", "权限编码不能为空"),
    PERMISSION_CODE_IS_EXIST("413", "权限编码已存在"),

    //部门异常编码:500-599
    DEPTROLEID_NOT_EXIST("511", "部门角色编码不存在"),
    DEPTROLEID_HAS_EXIST("512", "用户部门角色编码已存在"),
    DEPT_ROLE_NOTFOUND("513", "角色不存在"),
    DEPT_USER_NOTFOUND("513", "用户不存在"),
    DEPT_DELETE_EXISTED("514", "部门信息早已删除"),
    DEPT_HAS_EXIST("515", "用户部门信息已存在"),
    DEPT_NOT_FOUND("516", "查无信息"),
    DEPT_NOT_EXIST("517", "部门信息不存在"),
    DEPT_DELETE_FAILED("518", "部门信息删除失败"),
    DEPT_UPDATE_FAILED("519", "部门信息修改失败"),
    DEPT_INSERT_FAILED("520", "部门信息新增失败"),
    DEPT_OUT_BOUNDS("521", "部门权限越界"),

    //考勤异常编码:600-699
    CHECK_IN_LEAVE_EARLY("601", "考勤异常，请联系管理员！"),
    CHECK_IN_RULE_NOTNULL("602", "考勤规则不能为空！"),
    CHECK_IN_PLEASE_INSERT("603", "考勤规则为空，请先添加规则"),

    //菜单异常编码:700-799
    MENU_NOT_ID("701", "菜单ID不存在"),

    //审批流程异常编码：800-899
    APPROVAL_NOT_FOUND("801","查无审批"),
    APPROVAL_OUT_BOUNDS("802","您无权审批"),
    TASK_NOT_FOUND("803","暂无待办"),
    APPROVAL_HAS_EXIST("804","审批已存在,请确认审批编码"),
    ACTIVITI_NOT_FOUND("805","该流程不存在"),
    ACTIVITI_MODEL_NOT_FOUND("806","模型数据为空，请先设计流程并成功保存，再进行发布"),
    ACTIVITI_MODEL_WRONG("807","数据模型不符要求，请至少设计一条主线流程"),
    PROCESSDEFINITIONQUERY_NOT_FOUND("808","流程定义查询暂无"),

    //请假异常编码:900-999
    LEAVES_NOT_FOUND("901", "请假单不存在"),
    LEAVES_NOT_EXIT("901", "请先完善请假单信息"),
    NO_DUPLICATE_SUBMIT("902","禁止重复提交申请"),
    ACTIVITI_END("903","该流程已经结束或者不存在"),
    COMPLETE_NOT_TASK("904","暂无已办"),


    //报销单导入导出
    MONTH_NOT_DATE("905","该月没有数据"),
    WEEK_NOT_DATE("905","该周没有数据");
    //其他异常继续向下排列


    private String code;
    private String value;

    ApplicationResponseCode(String code, String value) {
        this.code = code;
        this.value = value;
    }

    @Override
    public String getCode() {
        return code;
    }

    @Override
    public String getValue() {
        return value;
    }
}
